package com.expert.miniapp.dao;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 其他资源数据访问层接口
 * 提供其他资源相关的数据库操作方法
 */
@Mapper
public interface OtherResourceMapper {

    /**
     * 根据资源ID查询详情
     * @param resourceId 资源ID
     * @return 其他资源详情，如果不存在则返回null
     */
    OtherResource findById(@Param("resourceId") String resourceId);

    /**
     * 查询所有其他资源
     * @return 所有其他资源列表
     */
    List<OtherResource> findAll();

    /**
     * 按权重排序查询其他资源列表（用于推荐）
     * @return 按权重随机排序的其他资源列表
     */
    List<OtherResource> findByWeightOrder();

    /**
     * 模糊搜索其他资源
     * @param keyword 搜索关键词
     * @return 匹配关键词的其他资源列表
     */
    List<OtherResource> searchByKeyword(@Param("keyword") String keyword);
}